package legumes.client.ui.widgets.form.item;

import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.validator.CustomValidator;
import com.smartgwt.client.widgets.form.validator.IsStringValidator;
import com.smartgwt.client.widgets.form.validator.LengthRangeValidator;

public class PhysicalPersonNameFormItem extends TextItem {

	public PhysicalPersonNameFormItem(String title_, String exampleValue_){
		super("PersonNameFormItem", title_);
		setShowTitle(true);
		setHint("<i>Exemple : '" + exampleValue_ + "'</i>");
		setWidth(200);
		setTextAlign(Alignment.LEFT);
		setValidateOnExit(true);
		setValidateOnChange(true);
		
		LengthRangeValidator lrv = new LengthRangeValidator();
        lrv.setMin(1);
        lrv.setMax(50);
        lrv.setErrorMessage("Saisir un nom entre 1 et 50 charact&egrave;res.");
        
        IsStringValidator isStringValidator = new IsStringValidator();
        isStringValidator.setErrorMessage("Veuillez saisir une chaines de caract&egrave;res.");

        CustomValidator cv = new CustomValidator(){

			@Override
			protected boolean condition(Object value) {
				return value instanceof String && 
				value != null &&
				((String)value).trim().length()>0;
			}
        	
        };
        cv.setErrorMessage("Veuillez saisir au moins un caractère.");

        setValidators(isStringValidator, lrv, cv);
	}
}
